[INFO] fetching crate psi-lang 0.3.0...
[INFO] fixing psi-lang-0.3.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate psi-lang 0.3.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate psi-lang 0.3.0
[INFO] finished tweaking crates.io crate psi-lang 0.3.0
[INFO] tweaked toml for crates.io crate psi-lang 0.3.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate psi-lang 0.3.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 32 packages to latest compatible versions
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding rustc-hash v1.1.0 (available: v2.1.2)
[INFO] [stderr]       Adding smartstring v0.2.10 (available: v1.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] be728f53f7bf16e93d83fb956ed2d103873130d32692bf7e37d6ebd35675f568
[INFO] running `Command { std: "docker" "start" "be728f53f7bf16e93d83fb956ed2d103873130d32692bf7e37d6ebd35675f568", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "be728f53f7bf16e93d83fb956ed2d103873130d32692bf7e37d6ebd35675f568" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "be728f53f7bf16e93d83fb956ed2d103873130d32692bf7e37d6ebd35675f568", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "be728f53f7bf16e93d83fb956ed2d103873130d32692bf7e37d6ebd35675f568" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]     Checking smartstring v0.2.10
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.49
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling pest_consume_macros v1.1.0
[INFO] [stderr]     Checking mimalloc v0.1.52
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking pest_consume v1.1.3
[INFO] [stderr]     Checking psi-lang v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.12s
[INFO] [stderr] crater-edition-check: psi-lang v0.3.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking psi-lang v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `string_brack`
[INFO] [stdout]    --> src/lib.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 |             [string_brack] => "{",
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_brack`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_quote`
[INFO] [stdout]    --> src/lib.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |             [string_quote] => "\"",
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_quote`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn do_parse(src: &str) -> Result<Node, Error> {
[INFO] [stdout]    |                      ^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn do_parse(src: &str) -> Result<Node<'_>, Error> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:86:31
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn identifier_part(input: Node) -> Pesult<&str> {
[INFO] [stdout]    |                               ^^^^            ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn identifier_part(input: Node<'_>) -> Pesult<&str> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:111:26
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn string_esc(input: Node) -> Pesult<&str> {
[INFO] [stdout]     |                          ^^^^            ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn string_esc(input: Node<'_>) -> Pesult<&str> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:124:27
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn string_char(input: Node) -> Pesult<&str> {
[INFO] [stdout]     |                           ^^^^            ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn string_char(input: Node<'_>) -> Pesult<&str> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_brack`
[INFO] [stdout]    --> src/lib.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 |             [string_brack] => "{",
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_brack`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_quote`
[INFO] [stdout]    --> src/lib.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |             [string_quote] => "\"",
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_quote`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn do_parse(src: &str) -> Result<Node, Error> {
[INFO] [stdout]    |                      ^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn do_parse(src: &str) -> Result<Node<'_>, Error> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:86:31
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn identifier_part(input: Node) -> Pesult<&str> {
[INFO] [stdout]    |                               ^^^^            ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn identifier_part(input: Node<'_>) -> Pesult<&str> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:111:26
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn string_esc(input: Node) -> Pesult<&str> {
[INFO] [stdout]     |                          ^^^^            ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn string_esc(input: Node<'_>) -> Pesult<&str> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:124:27
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn string_char(input: Node) -> Pesult<&str> {
[INFO] [stdout]     |                           ^^^^            ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn string_char(input: Node<'_>) -> Pesult<&str> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.02s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking psi-lang v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/interpreter.rs (9 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter.rs:97:19
[INFO] [stdout]     |
[INFO] [stdout]  97 |             match self.var_index(&expr, vec![Expr::Integer(iteration)].into()) { Ok(this) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      ----
[INFO] [stdout]     |                   |                                                                 |
[INFO] [stdout]     |                   |                                                                 `this` calls a custom destructor
[INFO] [stdout]     |                   |                                                                 `this` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                   up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  98 |                 self.env.raw_expr(&id[0], &this);
[INFO] [stdout]  99 |                 self.run_block(block)?;
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |                     if let Some(i) = items.keys().get(iteration as usize) {
[INFO] [stdout]     |                                      ------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |                     if let Some(i) = items.values().get(iteration as usize) {
[INFO] [stdout]     |                                      --------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 121 |                 self.run_block(block)?;
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter.rs:171:50
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     if let Expr::Boolean(true) = self.expr(e)? {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                  up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 172 |                         self.run_block(b)?;
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 175 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 176 |                 IfPart::Else(b) => self.run_block(b)?,
[INFO] [stdout]     |                                    ------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter.rs:278:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut result = self.expr(id)?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `result` calls a custom destructor
[INFO] [stdout]     |             `result` will be dropped later as of Edition 2024
[INFO] [stdout] 238 |         while let Some(ind) = inds.pop_front() {
[INFO] [stdout]     |                        ---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ind` calls a custom destructor
[INFO] [stdout]     |                        `ind` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |             let ind = self.expr(&ind)?;
[INFO] [stdout]     |                 ---   ----------------
[INFO] [stdout]     |                 |     |
[INFO] [stdout]     |                 |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 240 |             match result {
[INFO] [stdout] 241 |                 Expr::StringRaw(s) => result = self.index_string(&s, &ind)?,
[INFO] [stdout]     |                                 -              ----------------------------
[INFO] [stdout]     |                                 |              |
[INFO] [stdout]     |                                 |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `s` calls a custom destructor
[INFO] [stdout]     |                                 `s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |                 Expr::Array(items) => {
[INFO] [stdout]     |                             -----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `items` calls a custom destructor
[INFO] [stdout]     |                             `items` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 277 |                 Expr::Table(items) => {
[INFO] [stdout]     |                             -----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 278 |                     result = match items.get(ind) { Some(ind) => {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                    up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 284 |                 Expr::VarIndex(id, inds) => result = self.var_index(&id, inds)?,
[INFO] [stdout]     |                                --                    --------------------------
[INFO] [stdout]     |                                |                     |
[INFO] [stdout]     |                                |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `id` calls a custom destructor
[INFO] [stdout]     |                                `id` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ind` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `items` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `id` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter.rs:238:31
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut result = self.expr(id)?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `result` calls a custom destructor
[INFO] [stdout]     |             `result` will be dropped later as of Edition 2024
[INFO] [stdout] 238 |         while let Some(ind) = inds.pop_front() {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |      |
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |      up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `ind` calls a custom destructor
[INFO] [stdout]     |                        `ind` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |             let ind = self.expr(&ind)?;
[INFO] [stdout]     |                 ---   ----------------
[INFO] [stdout]     |                 |     |
[INFO] [stdout]     |                 |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 240 |             match result {
[INFO] [stdout] 241 |                 Expr::StringRaw(s) => result = self.index_string(&s, &ind)?,
[INFO] [stdout]     |                                 -              ----------------------------
[INFO] [stdout]     |                                 |              |
[INFO] [stdout]     |                                 |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `s` calls a custom destructor
[INFO] [stdout]     |                                 `s` will be dropped later as of Edition 2024
[INFO] [stdout] 242 |                 Expr::Inclusive(s, e) => {
[INFO] [stdout]     |                                 -  -
[INFO] [stdout]     |                                 |  |
[INFO] [stdout]     |                                 |  `e` calls a custom destructor
[INFO] [stdout]     |                                 |  `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 |                 Expr::Exclusive(s, e) => {
[INFO] [stdout]     |                                 -  -
[INFO] [stdout]     |                                 |  |
[INFO] [stdout]     |                                 |  this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                 |  `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |                 Expr::Array(items) => {
[INFO] [stdout]     |                             -----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `items` calls a custom destructor
[INFO] [stdout]     |                             `items` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 277 |                 Expr::Table(items) => {
[INFO] [stdout]     |                             -----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 284 |                 Expr::VarIndex(id, inds) => result = self.var_index(&id, inds)?,
[INFO] [stdout]     |                                --                    --------------------------
[INFO] [stdout]     |                                |                     |
[INFO] [stdout]     |                                |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                |                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `id` calls a custom destructor
[INFO] [stdout]     |                                `id` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 287 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ind` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `items` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `id` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:236:37
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 let mut result: Option<Expr> = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 236 |                 while let Some(p) = nums.next_back() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 242 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 254 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 260 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:272:37
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 272 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 278 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:290:37
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 290 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:308:37
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 308 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 314 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 326 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 332 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter.rs:97:19
[INFO] [stdout]     |
[INFO] [stdout]  97 |             match self.var_index(&expr, vec![Expr::Integer(iteration)].into()) { Ok(this) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      ----
[INFO] [stdout]     |                   |                                                                 |
[INFO] [stdout]     |                   |                                                                 `this` calls a custom destructor
[INFO] [stdout]     |                   |                                                                 `this` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                   up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  98 |                 self.env.raw_expr(&id[0], &this);
[INFO] [stdout]  99 |                 self.run_block(block)?;
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |                     if let Some(i) = items.keys().get(iteration as usize) {
[INFO] [stdout]     |                                      ------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |                     if let Some(i) = items.values().get(iteration as usize) {
[INFO] [stdout]     |                                      --------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 121 |                 self.run_block(block)?;
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter.rs:171:50
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     if let Expr::Boolean(true) = self.expr(e)? {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                  up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 172 |                         self.run_block(b)?;
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 175 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 176 |                 IfPart::Else(b) => self.run_block(b)?,
[INFO] [stdout]     |                                    ------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter.rs:278:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut result = self.expr(id)?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `result` calls a custom destructor
[INFO] [stdout]     |             `result` will be dropped later as of Edition 2024
[INFO] [stdout] 238 |         while let Some(ind) = inds.pop_front() {
[INFO] [stdout]     |                        ---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ind` calls a custom destructor
[INFO] [stdout]     |                        `ind` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |             let ind = self.expr(&ind)?;
[INFO] [stdout]     |                 ---   ----------------
[INFO] [stdout]     |                 |     |
[INFO] [stdout]     |                 |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 240 |             match result {
[INFO] [stdout] 241 |                 Expr::StringRaw(s) => result = self.index_string(&s, &ind)?,
[INFO] [stdout]     |                                 -              ----------------------------
[INFO] [stdout]     |                                 |              |
[INFO] [stdout]     |                                 |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `s` calls a custom destructor
[INFO] [stdout]     |                                 `s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |                 Expr::Array(items) => {
[INFO] [stdout]     |                             -----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `items` calls a custom destructor
[INFO] [stdout]     |                             `items` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 277 |                 Expr::Table(items) => {
[INFO] [stdout]     |                             -----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 278 |                     result = match items.get(ind) { Some(ind) => {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                    up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 284 |                 Expr::VarIndex(id, inds) => result = self.var_index(&id, inds)?,
[INFO] [stdout]     |                                --                    --------------------------
[INFO] [stdout]     |                                |                     |
[INFO] [stdout]     |                                |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `id` calls a custom destructor
[INFO] [stdout]     |                                `id` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ind` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `items` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `id` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter.rs:238:31
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut result = self.expr(id)?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `result` calls a custom destructor
[INFO] [stdout]     |             `result` will be dropped later as of Edition 2024
[INFO] [stdout] 238 |         while let Some(ind) = inds.pop_front() {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |      |
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |      up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `ind` calls a custom destructor
[INFO] [stdout]     |                        `ind` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |             let ind = self.expr(&ind)?;
[INFO] [stdout]     |                 ---   ----------------
[INFO] [stdout]     |                 |     |
[INFO] [stdout]     |                 |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 240 |             match result {
[INFO] [stdout] 241 |                 Expr::StringRaw(s) => result = self.index_string(&s, &ind)?,
[INFO] [stdout]     |                                 -              ----------------------------
[INFO] [stdout]     |                                 |              |
[INFO] [stdout]     |                                 |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `s` calls a custom destructor
[INFO] [stdout]     |                                 `s` will be dropped later as of Edition 2024
[INFO] [stdout] 242 |                 Expr::Inclusive(s, e) => {
[INFO] [stdout]     |                                 -  -
[INFO] [stdout]     |                                 |  |
[INFO] [stdout]     |                                 |  `e` calls a custom destructor
[INFO] [stdout]     |                                 |  `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 |                 Expr::Exclusive(s, e) => {
[INFO] [stdout]     |                                 -  -
[INFO] [stdout]     |                                 |  |
[INFO] [stdout]     |                                 |  this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                 |  `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |                 Expr::Array(items) => {
[INFO] [stdout]     |                             -----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `items` calls a custom destructor
[INFO] [stdout]     |                             `items` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 277 |                 Expr::Table(items) => {
[INFO] [stdout]     |                             -----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 284 |                 Expr::VarIndex(id, inds) => result = self.var_index(&id, inds)?,
[INFO] [stdout]     |                                --                    --------------------------
[INFO] [stdout]     |                                |                     |
[INFO] [stdout]     |                                |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                |                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `id` calls a custom destructor
[INFO] [stdout]     |                                `id` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 287 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ind` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `items` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `id` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.39s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:236:37
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 let mut result: Option<Expr> = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 236 |                 while let Some(p) = nums.next_back() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 242 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 254 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 260 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:272:37
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 272 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 278 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:290:37
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 290 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:308:37
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 308 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 314 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 let mut result = None;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `result` calls a custom destructor
[INFO] [stdout]     |                     `result` will be dropped later as of Edition 2024
[INFO] [stdout] 326 |                 while let Some(p) = nums.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 332 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-0.2.10/src/lib.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: psi-lang v0.3.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking psi-lang v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/interpreter.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     if let Some(i) = items.keys().get(iteration as usize) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 108 |                         i
[INFO] [stdout] 109 |                     } else {
[INFO] [stdout]     |                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] note: lifetimes for temporaries generated in `if let`s have been shortened in Edition 2024 so that they are dropped here instead
[INFO] [stdout]    --> src/interpreter.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     } else {
[INFO] [stdout]     |                     ^
[INFO] [stdout] help: consider rewriting the `if` into `match` which preserves the extended lifetime
[INFO] [stdout]     |
[INFO] [stdout] 107 ~                     { match items.keys().get(iteration as usize)  { Some(i) => {
[INFO] [stdout] 108 |                         i
[INFO] [stdout] 109 ~                     } _ => {
[INFO] [stdout] 110 |                         break;
[INFO] [stdout] 111 ~                     }}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/interpreter.rs:115:38
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     if let Some(i) = items.values().get(iteration as usize) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 116 |                         i
[INFO] [stdout] 117 |                     } else {
[INFO] [stdout]     |                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] note: lifetimes for temporaries generated in `if let`s have been shortened in Edition 2024 so that they are dropped here instead
[INFO] [stdout]    --> src/interpreter.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     } else {
[INFO] [stdout]     |                     ^
[INFO] [stdout] help: consider rewriting the `if` into `match` which preserves the extended lifetime
[INFO] [stdout]     |
[INFO] [stdout] 115 ~                     { match items.values().get(iteration as usize)  { Some(i) => {
[INFO] [stdout] 116 |                         i
[INFO] [stdout] 117 ~                     } _ => {
[INFO] [stdout] 118 |                         break;
[INFO] [stdout] 119 ~                     }}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/interpreter.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     if let Some(i) = items.keys().get(iteration as usize) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 108 |                         i
[INFO] [stdout] 109 |                     } else {
[INFO] [stdout]     |                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] note: lifetimes for temporaries generated in `if let`s have been shortened in Edition 2024 so that they are dropped here instead
[INFO] [stdout]    --> src/interpreter.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     } else {
[INFO] [stdout]     |                     ^
[INFO] [stdout] help: consider rewriting the `if` into `match` which preserves the extended lifetime
[INFO] [stdout]     |
[INFO] [stdout] 107 ~                     { match items.keys().get(iteration as usize)  { Some(i) => {
[INFO] [stdout] 108 |                         i
[INFO] [stdout] 109 ~                     } _ => {
[INFO] [stdout] 110 |                         break;
[INFO] [stdout] 111 ~                     }}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/interpreter.rs:115:38
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     if let Some(i) = items.values().get(iteration as usize) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 116 |                         i
[INFO] [stdout] 117 |                     } else {
[INFO] [stdout]     |                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] note: lifetimes for temporaries generated in `if let`s have been shortened in Edition 2024 so that they are dropped here instead
[INFO] [stdout]    --> src/interpreter.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     } else {
[INFO] [stdout]     |                     ^
[INFO] [stdout] help: consider rewriting the `if` into `match` which preserves the extended lifetime
[INFO] [stdout]     |
[INFO] [stdout] 115 ~                     { match items.values().get(iteration as usize)  { Some(i) => {
[INFO] [stdout] 116 |                         i
[INFO] [stdout] 117 ~                     } _ => {
[INFO] [stdout] 118 |                         break;
[INFO] [stdout] 119 ~                     }}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_brack`
[INFO] [stdout]    --> src/lib.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 |             [string_brack] => "{",
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_brack`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_quote`
[INFO] [stdout]    --> src/lib.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |             [string_quote] => "\"",
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_quote`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_brack`
[INFO] [stdout]    --> src/lib.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 |             [string_brack] => "{",
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_brack`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_quote`
[INFO] [stdout]    --> src/lib.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |             [string_quote] => "\"",
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_quote`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `psi-lang` (lib test) due to 2 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `psi-lang` (lib) due to 2 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "be728f53f7bf16e93d83fb956ed2d103873130d32692bf7e37d6ebd35675f568", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "be728f53f7bf16e93d83fb956ed2d103873130d32692bf7e37d6ebd35675f568", kill_on_drop: false }`
[INFO] [stdout] be728f53f7bf16e93d83fb956ed2d103873130d32692bf7e37d6ebd35675f568
